The present invention relates to a method and apparatus for determining Voice Over Internet Protocol (VoIP) Quality of Service (QoS) characteristics of a network using multiple streams of packets, wherein measurements obtained as a result of the multiple streams of packets are synchronized relative to each other to permit the QoS characteristics of parts of a network to be reliably determined.
Voice or telephony services can now be provided over a packet switched network, such as the Internet. These packet switched networks are commonly referred to as Internet Protocol (IP) networks. Delivery of telephony in IP-based networks is called voice over IP (VoIP), because the Internet Protocol according to various IP based standards is the primary bearer protocol used. One such IP based standard, for example, is the International Telecommunication Union (ITU) H.323 Standard which provides a foundation for audio, video and data communications across IP networks.
VoIP is a cost effective means of transporting digitized audio signals. However, in order to provide VoIP minimum guarantees must be met where packets containing the audio signals will arrive within a set delivery time and will not be discarded due to queue overflows. For example, some audio and video xe2x80x9cplay-backxe2x80x9d applications are intolerant of any packets arriving after play-back time. Further, some applications have hard realtime requirements in order to operate properly. Thus, the ability to provide at least some kind of guaranteed services is needed. These guaranteed services are provided in packet switched networks in the form of Quality of Service (QoS).
The original IP standard provides no QoS support in the form of limits in packet delivery delay or lost packets. Accordingly, variations in end-to-end packet queuing delays and lost or discarded packets can occur due to changing network conditions. To remedy this, QoS standards have been proposed such as Differentiated Services (DiffServ) standards disclosed in xe2x80x9cDefinition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headersxe2x80x9d by K. Nichols et al, RFC 2474, Network Working Group, IETF, December 1998 and xe2x80x9cAn Architecture for Differentiated Servicesxe2x80x9d by S. Blake et al, RFC 2475, Network Working Group, IETF, December 1998. Also QoS standards have been proposed such as Integrated Services (IntServ) Standards as disclosed in xe2x80x9cGeneral Characterization Parameters for Integrated Service Network Elementsxe2x80x9d by S. Shenker et al, RFC 2215, Network Working Group, IETF, September 1997. When the QoS for a data stream is guaranteed, limits can be set on end-to-end delays and packet loss. Further, the over provisioning of network resources in small scale applications can be avoided.
Whatever method of providing guaranteed QoS for VoIP is used, measurements are an invaluable tool in determining whether the QoS guarantees are being met. This is especially true for IP networks in which data and voice streams co-exist.
Various methods have been proposed for measuring QoS characteristics in packet switched networks. Such measurements have been performed to address issues like router stability, distribution of end-to-end delays and lost packet rates. These proposed methods are primarily concerned with measuring QoS characteristics on a single stream of packets such as that illustrated in FIG. 1, wherein a sending host 101 and a pinging host 102 are provided.
As shown in FIG. 1 the sending host 101 sends a (single) stream of packets across the packet switched network 103. Prior to sending, the sending host 101 adds information to each of the packets. The stream of packets sent by the sending host 101 is received by the pinging host 102. The pinging host 102 adds information to each of the packets and returns the packets to the sending host 101 across the packet switched network 103. Thus, the system illustrated in FIG. 1 allows for round trip measurements of QoS characteristics to be performed. The round trip measurements have the advantage of avoiding complications arising from the synchronization of the of the clocks applied to the sending host 101 and the pinging host 102, and providing an efficient emulation of real full-duplex VoIP conversations.
An example of the format of a packet used in a round trip measurement of QoS characteristics is illustrated in FIG. 2. The packet 200 as illustrated in FIG. 2 has various fields for storing information added to the packets by each of the hosts. For example, fields 201 and 202 store time stamp data TS1 and packet sequence number data SEQ1 respectively. The TS1, and SEQ1 data are entered by the sending host 101 prior to sending the packet 200. Fields 203 and 204 store time stamp data TS2 and packet sequence number data SEQ2 respectively. The TS2 and SEQ2 data are entered by the pinging host 102 when returning the packet to the sending host 101. The pinging host 102 returns the packet 200 to the sending host 101. Field 205 stores time stamp data TS3 which is entered by the sending host 101 upon receipt of the packet 200 returned by the pinging host 102 to indicate the time the packet 200 completed its round trip.
By use of the above described information stored in the fields of the packet 200 having completed the round trip, QoS characteristics of the portion of the network upon which the packet completed the round trip can be determined. QoS characteristics of the portion of the packet switched network are at acceptable levels when limits such as end-to-end delay and packet loss are not exceeded.
A high end-to-end delay lowers the QoS characteristics of the stream of packets as experienced by an end user. A xe2x80x9chigh qualityxe2x80x9d QoS may set end-to-end delay to be less than 250 ms, whereas xe2x80x9cbestxe2x80x9d QoS may set end-to-end delay at 150 ms. Delays exceeding a target value might be interpreted as losses, resulting in xe2x80x9climited delayxe2x80x9d. Jitter, or variation of packet inter-arrival times at-the receiving host is important for receiver play-back buffer dimensioning. Thus, determining a value of jitter is important. The effects of packet loss on QoS is more complexed. A tolerable packet loss rate depends on the coder/decoder (CODEC) used since such a CODEC may employ QoS counter-measures such as Forward Error Correction (FEC). An important factor affectin QoS of a packet stream is the correlation of losses which are measured as conditional loss probability distribution clp(xcex7) (i.e., the set of probabilities P(xcex7) that n adjacent packets are lost) and scalar conditional lost probability clp (i.e., the probability that the loss of a packet is followed by another).
Thus, the measurement of QoS characteristics determined based on the information stored in the fields of packets that have completed the round trip may include average delay-limit Round Trip Time (RTT) delay (drl), delay-limited loss (ll), jitter (j) and average length of sequences of lost packets (plg). The term xe2x80x9cdelay-limitedxe2x80x9d loss ll refers to packets exceeding a certain limit, for example, 250 ms. Such packets are counted as losses and ignored in computing dr1.
The above described method of calculating QoS characteristics using a single stream of packets suffers from various disadvantages. For example, performing measurements on a single stream of packets in a network is not a reliable measure of the QoS experienced by various users in various parts of the network. Since only a single stream of packets is used for measuring QoS characteristics, the measurements are only relevant for the portion of the network upon which the stream of packets perform the round trip. Further, the QoS characteristics may be affected in different ways in other parts of the network.
Further, co-located measurements when the sending hosts are located in one part of the network and pinging hosts are located in another part of the network yield more reliable information. In such an arrangement, QoS characteristics of different parts of the entire network or in different parts of a portion of the network can be performed. Such is not possible when a single stream of packets is used.
Therefore, a reliable method for determining QoS characteristics of various portions of a network experienced by many users is desired. Further, it is desired to be able to correlate the measured QoS characteristics of various portions of the network to each other to aid in evaluating the QoS characteristics of the entire network. The same method can be used to obtain more reliable data for a single part of a network as well.
The present invention provides a method and apparatus for determining Voice Over Internet Protocol (VoIP), Quality of Service (QoS) characteristics of a network using multiple streams of packets, wherein measurements obtained using the multiple streams of packets are synchronized relative to each other to permit the VoIP, QoS characteristics of the network-to be reliably determined.
Accordingly, the present invention provides a method and apparatus of determining. QoS characteristics of a network using a plurality of streams of packets. In the present invention, each of a plurality of measuring hosts sends a stream of packets to a corresponding one of a plurality of receiving hosts. Each packet of the stream of packets being sent from the measuring host includes first time information added by the measuring host indicating the time the packet was sent from the measuring host. The stream of packets sent from the measuring host is received by the corresponding receiving host and is immediately returned to the measuring host. Each packet of the stream of packets being returned by the receiving host includes second time information added by the corresponding receiving host indicating the time the packet was returned.
The stream of packets returned by the corresponding receiving host are received by the measuring host. The measuring host adds to each packet of the stream of packets returned by the corresponding receiving host third time information indicating the time the packet completed a round trip from the measuring host to the corresponding receiving host and back.
The plurality of streams of packets received by the plurality of measuring host provide a plurality of streams of measurement information, (time series data) related to the first, second and third time information. The streams of time series data are synchronized to each other during an analysis phase taking place after the measurements.
The first, second and third time information included in each packet of each of the plurality of streams of packets provides streams of time series data useful in determining the QoS characteristics of the network. Synchronization of the streams of time series data is achieved in the analysis phase by displacing each member of a pair of streams of time series data relative to each other until a common phenomenon occurring in each member of each pair of streams match in the time direction. The common phenomenon may be any event that simultaneously effects the quality of all streams of packets. Once the streams of time series data have been synchronized to each other, QoS characteristics of the measured part of the network can be accurately and reliably determined. Determining QoS characteristics based on the synchronized streams of time series data provides a reliable measure of the QoS provided to various users located in different parts of the network. On the other hand, by making multiple measurements from a single location more accurate information can be obtained.
The above described first, second and third time information is particularly useful in determining delays that may exist in the network. Other information can also be added to the packet by the measuring and receiving hosts as the streams of packets traverse the round trip from the measuring host to the receiving host and back. Such information could, for example, be packet sequence numbers which sequentially identify the sequential location of each of packet in the streams of packets. Packet sequence numbers are useful in providing a means to measure packet loss.
It should be noted that each of the measuring and receiving hosts can, for example, be arranged to be at the network boundaries and can be either a router or a proxy server. Further, each of the measuring hosts rather than sending a stream of packets each having the format described above can, for example, send a stream of packets which includes real traffic. The corresponding receiving host upon receipt of the stream of packets including the real traffic forwards the stream of packets toward its final destination and sends back (reflect) a copy of the stream of packets including the real traffic to the measuring host. Each of the packets of the stream of packets including real traffic can be extended in a manner to include information corresponding to the time and sequence number information described above for measurement purposes.